f0e677d4d5e54e97ff699173bf3f7671eb6a214e,src/main/java/com/ait/lienzo/shared/core/types/Color.java,Color,hex2RGB,#String#,459

Before Change


    public static final Color hex2RGB(String hex)
    {
        // TODO this assumes hex is 6 long - what about strings of length 3?
        return new Color(Integer.valueOf(hex.substring(1, 3), 16), Integer.valueOf(hex.substring(3, 5), 16), Integer.valueOf(hex.substring(5, 7), 16));
    }

    /**

After Change


    {
        String r, g, b;

        if (hex.length() == 7)
        {
            r = hex.substring(1, 3);
            g = hex.substring(3, 5);
            b = hex.substring(5, 7);
        }
        else if (hex.length() == 4)
        {
            r = hex.substring(1, 2);
            g = hex.substring(2, 3);
            b = hex.substring(3, 4);

            r = r + r;
            g = g + g;
            b = b + b;
        }
        else return null;// error - invalid length

        try
        {
            return new Color(Integer.valueOf(r, 16), Integer.valueOf(g, 16), Integer.valueOf(b, 16));
        } catch(NumberFormatException ignored) {
            return null;
        }